import java.util.Scanner;

public class MaxSubarraySum {

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);

        // 假设用户输入数组的长度
        System.out.print("请输入数组的长度: ");
        int length = input.nextInt();

        // 根据用户输入的长度创建数组
        int[] nums = new int[length];

        // 读取用户输入的数组元素
        System.out.println("请输入" + length + "个整数：");
        for (int i = 0; i < length; i++) {
            nums[i] = input.nextInt();
        }

        // 调用方法并打印结果
        int maxSum = sumParams(nums);
        // 注意：打印结果已经在sumParams方法内部完成，这里可以选择不再重复打印
    }

    public static int sumParams(int nums[]) {
        int maxSum = 0;
        int sum = 0;
        for (int i = 0; i < nums.length; i++) {
            sum = 0; // 重置sum为0，每次从新的起点开始累加
            for (int j = i; j < nums.length; j++) {
                sum += nums[j];
                if (sum > maxSum) {
                    maxSum = sum;
                }
            }
        }
        System.out.println("子数组之和的最大值为：" + maxSum);
        return maxSum;
    }
}
